home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #2 / Monster Media No. 2 (Monster Media)(1994).ISO / pcboard / gnstst11.zip / GNS-TEST.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1994-06-21  |  17KB  |  958 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 2.OO (plain) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Integer  INTEGER001
  20.     Integer  TINTEGER002(9)
  21.     Integer  INTEGER003
  22.     Integer  INTEGER004
  23.     Integer  TINTEGER005(9)
  24.     Integer  TINTEGER006(45)
  25.     Integer  TINTEGER007(45)
  26.     String   STRING001
  27.     String   STRING002
  28.     String   STRING003
  29.     String   STRING004
  30.     String   STRING005
  31.     String   STRING006
  32.     String   STRING007
  33.     String   STRING008
  34.     String   TSTRING009(9)
  35.     String   TSTRING010(9)
  36.     String   STRING011
  37.     String   TSTRING012(9)
  38.     String   TSTRING013(9)
  39.     String   TSTRING014(9)
  40.     String   TSTRING015(9)
  41.     String   STRING016
  42.     String   STRING017
  43.     String   STRING018
  44.     String   STRING019
  45.     String   STRING020
  46.     String   STRING021
  47.     String   STRING022
  48.     String   STRING023
  49.     String   STRING024
  50.     String   STRING025
  51.     String   STRING026
  52.     String   STRING027
  53.     String   STRING028
  54.     String   TSTRING029(45)
  55.     String   TSTRING030(45)
  56.     String   TSTRING031(45)
  57.     String   STRING032
  58.     String   STRING033
  59.     String   STRING034
  60.     String   STRING035
  61.  
  62. ;------------------------------------------------------------------------------
  63.  
  64.     :LABEL001
  65.     Print "@X0F"
  66.     Cls
  67.     PrintLn "@CLS@@X07@X0F                             GENES@X08i@X0FS PPE Tester"
  68.     PrintLn "┌─────────@X07───────────@X08───────────────── ─────────── ───────── ─ ─   -   ··   ·"
  69.     PrintLn "@X0F│     @X08 [@X0FALT-W@X08] @X0FConfigure     @X08[@X0FALT-Q@X08] @X0FFull Screen     @X08[@X0F1 - 9@X08] @X0FQuicky Tests"
  70.     PrintLn "│─────────@X07───────────@X08───────────────── ─────────── ─────────── ─  ──────·    ·"
  71.     PrintLn "@X0F│ PPE And Path To PPE : @X08[                                                     ]"
  72.     PrintLn "@X0F└─────────@X07───────────@X08───────────────── ─────────── ─────────-─ ─  ───--─  ·"
  73.     Print "@X0F"
  74.     AnsiPos 26, 5
  75.     STRING023 = "@X0F"
  76.     STRING018 = 25
  77.     STRING019 = 5
  78.     AnsiPos STRING018, STRING019
  79.     STRING020 = 25
  80.     STRING021 = 1
  81.     :LABEL002
  82.     STRING022 = Inkey()
  83.     If (STRING022 <> "") Goto LABEL003
  84.     Goto LABEL002
  85.     :LABEL003
  86.     If (((((((((STRING022 == "1") || (STRING022 == "2")) || (STRING022 == "3")) || (STRING022 == "4")) || (STRING022 == "5")) || (STRING022 == "6")) || (STRING022 == "7")) || (STRING022 == "8")) || (STRING022 == "9")) Then
  87.         Call ReadLine(PPEPath() + "TEST.DAT", STRING022)
  88.         End
  89.     Endif
  90.     If (STRING022 == Chr(27)) End
  91.     If (STRING022 == Chr(13)) Goto LABEL004
  92.     If (STRING022 == "ALT W") Goto LABEL005
  93.     If (STRING022 == "ALT Q") Goto LABEL040
  94.     If (Left(STRING022, 3) == "ALT") Goto LABEL002
  95.     If (Left(STRING022, 3) == "CTR") Goto LABEL002
  96.     If (STRING022 == "INS") Goto LABEL002
  97.     If (STRING022 == "BADKEY") Goto LABEL002
  98.     If (STRING022 == "RIGHT") Goto LABEL002
  99.     If (STRING022 == "LEFT") Goto LABEL002
  100.     If (STRING022 == "DOWN") Goto LABEL002
  101.     If (STRING022 == "DEL") Goto LABEL002
  102.     If (STRING022 == "END") Goto LABEL002
  103.     If (STRING022 == "HOME") Goto LABEL002
  104.     If (STRING022 == "PGUP") Goto LABEL002
  105.     If (STRING022 == "PGDN") Goto LABEL002
  106.     If (STRING022 == Chr(8)) Then
  107.         If (STRING020 == 25) Goto LABEL002
  108.         AnsiPos STRING020, STRING019
  109.         Print " "
  110.         STRING020 = STRING020 - 1
  111.         Goto LABEL002
  112.     Endif
  113.     If (STRING020 == 50) Goto LABEL002
  114.     STRING024 = STRING023 + STRING022
  115.     STRING020 = STRING020 + 1
  116.     AnsiPos STRING020, STRING019
  117.     Print STRING024
  118.     Goto LABEL002
  119.     :LABEL004
  120.     STRING011 = ScrText(26, 5, 50, 0)
  121.     STRING011 = RTrim(STRING011, "]")
  122.     STRING011 = Trim(STRING011, "")
  123.     Print "@X0F"
  124.     Call STRING011
  125.     Print "@X0F"
  126.     Cls
  127.     End
  128.     :LABEL005
  129.     PrintLn ""
  130.     PrintLn "@X07@X0F┌─────────@X07───────────@X08───────────────── ─────────── ───────── ─ ─   -   ··   ·"
  131.     PrintLn "@X0F│               @X08[@X0FSPACE@X08] @X0FUp     @X08[@X0F@X08] @X0FDown    @X08[@X0F@X08] @X0FLeft     @X08[@X0F@X08] @X0FRight"
  132.     PrintLn "│─────────@X07───────────@X08───────────────── ─────────── ─────────── ─  ──────·    ·"
  133.     PrintLn "@X0F│ o1)               @X08│"
  134.     PrintLn "@X0F│ o2)               @X08│"
  135.     PrintLn "@X0F│ o3)               @X08│"
  136.     PrintLn "@X0F│ o4)               @X08│"
  137.     PrintLn "@X0F│ o5)               @X08│"
  138.     PrintLn "@X0F│ o6)               @X08│"
  139.     PrintLn "@X0F│ o7)               @X08│"
  140.     PrintLn "@X0F│ o8)               @X08│"
  141.     PrintLn "@X0F│ o9)               @X08│"
  142.     PrintLn "@X0F└─────────@X07───────────@X08───────────────── ─────────── ─────────-─ ─  ───--─  ·"
  143.     :LABEL006
  144.     FOpen 2, PPEPath() + "config.dat", 2, 0
  145.     For INTEGER004 = 1 To 9
  146.         FGet 2, TSTRING009(INTEGER004)
  147.         TSTRING009(INTEGER004) = Upper(TSTRING009(INTEGER004))
  148.         FGet 2, TSTRING010(INTEGER004)
  149.         TSTRING010(INTEGER004) = Upper(TSTRING010(INTEGER004))
  150.     Next
  151.     FClose 2
  152.     Sort TSTRING009, TINTEGER002
  153.     Sort TSTRING010, TINTEGER002
  154.     For STRING016 = 1 To 9
  155.         INTEGER001 = STRING016
  156.         TSTRING012(STRING016) = 7
  157.         TSTRING013(STRING016) = INTEGER001 + 8
  158.         TSTRING014(STRING016) = 23
  159.         TSTRING015(STRING016) = INTEGER001 + 8
  160.     Next
  161.     Sort TSTRING012, TINTEGER002
  162.     Sort TSTRING014, TINTEGER002
  163.     Sort TSTRING013, TINTEGER002
  164.     Sort TSTRING015, TINTEGER002
  165.     For INTEGER003 = 1 To 9
  166.         If (INTEGER003 > 1) Goto LABEL007
  167.         AnsiPos TSTRING012(INTEGER003), TSTRING013(INTEGER003)
  168.         Print "@X7F" + TSTRING009(INTEGER003)
  169.         AnsiPos TSTRING014(INTEGER003), TSTRING015(INTEGER003)
  170.         Print "@X0F" + TSTRING010(INTEGER003)
  171.         Continue
  172.         :LABEL007
  173.         AnsiPos TSTRING012(INTEGER003), TSTRING013(INTEGER003)
  174.         Print "@X0F" + TSTRING009(INTEGER003)
  175.         AnsiPos TSTRING014(INTEGER003), TSTRING015(INTEGER003)
  176.         Print "@X0F" + TSTRING010(INTEGER003)
  177.     Next
  178.     STRING004 = "1"
  179.     STRING001 = "1"
  180.     :LABEL008
  181.     STRING005 = STRING007
  182.     STRING006 = STRING008
  183.     STRING007 = STRING004
  184.     STRING008 = STRING001
  185.     STRING017 = Inkey()
  186.     If (STRING017 <> "") Goto LABEL009
  187.     Goto LABEL008
  188.     :LABEL009
  189.     If (STRING017 == Chr(27)) Then
  190.         Print "@X0F"
  191.         Cls
  192.         Goto LABEL001
  193.     Endif
  194.     If (STRING017 == Chr(13)) Then
  195.         Goto LABEL029
  196.     Endif
  197.     Select Case (STRING017)
  198.         Case "DOWN"
  199.             STRING004 = STRING004 + 1
  200.             If (STRING004 == 10) STRING004 = 1
  201.         Case " "
  202.             STRING004 = STRING004 - 1
  203.             If (STRING004 == 0) STRING004 = 9
  204.         Case "LEFT"
  205.             STRING001 = STRING001 - 1
  206.             If (STRING001 == 0) STRING001 = 2
  207.         Case "RIGHT"
  208.             STRING001 = STRING001 + 1
  209.             If (STRING001 == 3) STRING001 = 1
  210.         Case Else
  211.             If (((((((((STRING017 == "1") || (STRING017 == "2")) || (STRING017 == "3")) || (STRING017 == "4")) || (STRING017 == "5")) || (STRING017 == "6")) || (STRING017 == "7")) || (STRING017 == "8")) || (STRING017 == "9")) Then
  212.                 If (STRING017 == "1") Then
  213.                     STRING004 = STRING017
  214.                     Goto LABEL011
  215.                 Endif
  216.                 If (STRING017 == "2") Then
  217.                     STRING004 = STRING017
  218.                     Goto LABEL012
  219.                 Endif
  220.                 If (STRING017 == "3") Then
  221.                     STRING004 = STRING017
  222.                     Goto LABEL013
  223.                 Endif
  224.                 If (STRING017 == "4") Then
  225.                     STRING004 = STRING017
  226.                     Goto LABEL014
  227.                 Endif
  228.                 If (STRING017 == "5") Then
  229.                     STRING004 = STRING017
  230.                     Goto LABEL015
  231.                 Endif
  232.                 If (STRING017 == "6") Then
  233.                     STRING004 = STRING017
  234.                     Goto LABEL016
  235.                 Endif
  236.                 If (STRING017 == "7") Then
  237.                     STRING004 = STRING017
  238.                     Goto LABEL017
  239.                 Endif
  240.                 If (STRING017 == "8") Then
  241.                     STRING004 = STRING017
  242.                     Goto LABEL018
  243.                 Endif
  244.                 If (STRING017 == "9") Then
  245.                     STRING004 = STRING017
  246.                     Goto LABEL019
  247.                 Endif
  248.             Endif
  249.             Goto LABEL008
  250.     End Select
  251.     Gosub LABEL010
  252.     If (STRING004 == "1") Goto LABEL011
  253.     If (STRING004 == "2") Goto LABEL012
  254.     If (STRING004 == "3") Goto LABEL013
  255.     If (STRING004 == "4") Goto LABEL014
  256.     If (STRING004 == "5") Goto LABEL015
  257.     If (STRING004 == "6") Goto LABEL016
  258.     If (STRING004 == "7") Goto LABEL017
  259.     If (STRING004 == "8") Goto LABEL018
  260.     If (STRING004 == "9") Goto LABEL019
  261.     Goto LABEL008
  262.     :LABEL010
  263.     If (STRING005 == "1") Gosub LABEL020
  264.     If (STRING005 == "2") Gosub LABEL021
  265.     If (STRING005 == "3") Gosub LABEL022
  266.     If (STRING005 == "4") Gosub LABEL023
  267.     If (STRING005 == "5") Gosub LABEL024
  268.     If (STRING005 == "6") Gosub LABEL025
  269.     If (STRING005 == "7") Gosub LABEL026
  270.     If (STRING005 == "8") Gosub LABEL027
  271.     If (STRING005 == "9") Gosub LABEL028
  272.     Return
  273.     :LABEL011
  274.     If (STRING001 == "1") Then
  275.         AnsiPos TSTRING012(1), TSTRING013(1)
  276.         Print "@X7F" + TSTRING009(1)
  277.     Endif
  278.     If (STRING001 == "2") Then
  279.         AnsiPos TSTRING014(1), TSTRING015(1)
  280.         Print "@X7F" + TSTRING010(1)
  281.     Endif
  282.     Goto LABEL008
  283.     :LABEL012
  284.     If (STRING001 == "1") Then
  285.         AnsiPos TSTRING012(2), TSTRING013(2)
  286.         Print "@X7F" + TSTRING009(2)
  287.     Endif
  288.     If (STRING001 == "2") Then
  289.         AnsiPos TSTRING014(2), TSTRING015(2)
  290.         Print "@X7F" + TSTRING010(2)
  291.     Endif
  292.     Goto LABEL008
  293.     :LABEL013
  294.     If (STRING001 == "1") Then
  295.         AnsiPos TSTRING012(3), TSTRING013(3)
  296.         Print "@X7F" + TSTRING009(3)
  297.     Endif
  298.     If (STRING001 == "2") Then
  299.         AnsiPos TSTRING014(3), TSTRING015(3)
  300.         Print "@X7F" + TSTRING010(3)
  301.     Endif
  302.     Goto LABEL008
  303.     :LABEL014
  304.     If (STRING001 == "1") Then
  305.         AnsiPos TSTRING012(4), TSTRING013(4)
  306.         Print "@X7F" + TSTRING009(4)
  307.     Endif
  308.     If (STRING001 == "2") Then
  309.         AnsiPos TSTRING014(4), TSTRING015(4)
  310.         Print "@X7F" + TSTRING010(4)
  311.     Endif
  312.     Goto LABEL008
  313.     :LABEL015
  314.     If (STRING001 == "1") Then
  315.         AnsiPos TSTRING012(5), TSTRING013(5)
  316.         Print "@X7F" + TSTRING009(5)
  317.     Endif
  318.     If (STRING001 == "2") Then
  319.         AnsiPos TSTRING014(5), TSTRING015(5)
  320.         Print "@X7F" + TSTRING010(5)
  321.     Endif
  322.     Goto LABEL008
  323.     :LABEL016
  324.     If (STRING001 == "1") Then
  325.         AnsiPos TSTRING012(6), TSTRING013(6)
  326.         Print "@X7F" + TSTRING009(6)
  327.     Endif
  328.     If (STRING001 == "2") Then
  329.         AnsiPos TSTRING014(6), TSTRING015(6)
  330.         Print "@X7F" + TSTRING010(6)
  331.     Endif
  332.     Goto LABEL008
  333.     :LABEL017
  334.     If (STRING001 == "1") Then
  335.         AnsiPos TSTRING012(7), TSTRING013(7)
  336.         Print "@X7F" + TSTRING009(7)
  337.     Endif
  338.     If (STRING001 == "2") Then
  339.         AnsiPos TSTRING014(7), TSTRING015(7)
  340.         Print "@X7F" + TSTRING010(7)
  341.     Endif
  342.     Goto LABEL008
  343.     :LABEL018
  344.     If (STRING001 == "1") Then
  345.         AnsiPos TSTRING012(8), TSTRING013(8)
  346.         Print "@X7F" + TSTRING009(8)
  347.     Endif
  348.     If (STRING001 == "2") Then
  349.         AnsiPos TSTRING014(8), TSTRING015(8)
  350.         Print "@X7F" + TSTRING010(8)
  351.     Endif
  352.     Goto LABEL008
  353.     :LABEL019
  354.     If (STRING001 == "1") Then
  355.         AnsiPos TSTRING012(9), TSTRING013(9)
  356.         Print "@X7F" + TSTRING009(9)
  357.     Endif
  358.     If (STRING001 == "2") Then
  359.         AnsiPos TSTRING014(9), TSTRING015(9)
  360.         Print "@X7F" + TSTRING010(9)
  361.     Endif
  362.     Goto LABEL008
  363.     :LABEL020
  364.     If (STRING006 == "1") Then
  365.         AnsiPos TSTRING012(1), TSTRING013(1)
  366.         Print "@X0F" + TSTRING009(1)
  367.     Endif
  368.     If (STRING006 == "2") Then
  369.         AnsiPos TSTRING014(1), TSTRING015(1)
  370.         Print "@X0F" + TSTRING010(1)
  371.     Endif
  372.     Return
  373.     :LABEL021
  374.     If (STRING006 == "1") Then
  375.         AnsiPos TSTRING012(2), TSTRING013(2)
  376.         Print "@X0F" + TSTRING009(2)
  377.     Endif
  378.     If (STRING006 == "2") Then
  379.         AnsiPos TSTRING014(2), TSTRING015(2)
  380.         Print "@X0F" + TSTRING010(2)
  381.     Endif
  382.     Return
  383.     :LABEL022
  384.     If (STRING006 == "1") Then
  385.         AnsiPos TSTRING012(3), TSTRING013(3)
  386.         Print "@X0F" + TSTRING009(3)
  387.     Endif
  388.     If (STRING006 == "2") Then
  389.         AnsiPos TSTRING014(3), TSTRING015(3)
  390.         Print "@X0F" + TSTRING010(3)
  391.     Endif
  392.     Return
  393.     :LABEL023
  394.     If (STRING006 == "1") Then
  395.         AnsiPos TSTRING012(4), TSTRING013(4)
  396.         Print "@X0F" + TSTRING009(4)
  397.     Endif
  398.     If (STRING006 == "2") Then
  399.         AnsiPos TSTRING014(4), TSTRING015(4)
  400.         Print "@X0F" + TSTRING010(4)
  401.     Endif
  402.     Return
  403.     :LABEL024
  404.     If (STRING006 == "1") Then
  405.         AnsiPos TSTRING012(5), TSTRING013(5)
  406.         Print "@X0F" + TSTRING009(5)
  407.     Endif
  408.     If (STRING006 == "2") Then
  409.         AnsiPos TSTRING014(5), TSTRING015(5)
  410.         Print "@X0F" + TSTRING010(5)
  411.     Endif
  412.     Return
  413.     :LABEL025
  414.     If (STRING006 == "1") Then
  415.         AnsiPos TSTRING012(6), TSTRING013(6)
  416.         Print "@X0F" + TSTRING009(6)
  417.     Endif
  418.     If (STRING006 == "2") Then
  419.         AnsiPos TSTRING014(6), TSTRING015(6)
  420.         Print "@X0F" + TSTRING010(6)
  421.     Endif
  422.     Return
  423.     :LABEL026
  424.     If (STRING006 == "1") Then
  425.         AnsiPos TSTRING012(7), TSTRING013(7)
  426.         Print "@X0F" + TSTRING009(7)
  427.     Endif
  428.     If (STRING006 == "2") Then
  429.         AnsiPos TSTRING014(7), TSTRING015(7)
  430.         Print "@X0F" + TSTRING010(7)
  431.     Endif
  432.     Return
  433.     :LABEL027
  434.     If (STRING006 == "1") Then
  435.         AnsiPos TSTRING012(8), TSTRING013(8)
  436.         Print "@X0F" + TSTRING009(8)
  437.     Endif
  438.     If (STRING006 == "2") Then
  439.         AnsiPos TSTRING014(8), TSTRING015(8)
  440.         Print "@X0F" + TSTRING010(8)
  441.     Endif
  442.     Return
  443.     :LABEL028
  444.     If (STRING006 == "1") Then
  445.         AnsiPos TSTRING012(9), TSTRING013(9)
  446.         Print "@X0F" + TSTRING009(9)
  447.     Endif
  448.     If (STRING006 == "2") Then
  449.         AnsiPos TSTRING014(9), TSTRING015(9)
  450.         Print "@X0F" + TSTRING010(9)
  451.     Endif
  452.     Return
  453.     :LABEL029
  454.     If (STRING004 == "1") Goto LABEL030
  455.     If (STRING004 == "2") Goto LABEL031
  456.     If (STRING004 == "3") Goto LABEL032
  457.     If (STRING004 == "4") Goto LABEL033
  458.     If (STRING004 == "5") Goto LABEL034
  459.     If (STRING004 == "6") Goto LABEL035
  460.     If (STRING004 == "7") Goto LABEL036
  461.     If (STRING004 == "8") Goto LABEL037
  462.     If (STRING004 == "9") Goto LABEL038
  463.     Goto LABEL008
  464.     :LABEL030
  465.     If (STRING001 == "1") Then
  466.         AnsiPos TSTRING012(1), TSTRING013(1)
  467.         InputStr "_", STRING003, 15, 12, Mask_Ascii(), 16
  468.     Endif
  469.     If (STRING001 == "2") Then
  470.         AnsiPos TSTRING014(1), TSTRING015(1)
  471.         InputStr "_", STRING002, 15, 55, Mask_Ascii(), 16
  472.     Endif
  473.     Goto LABEL039
  474.     :LABEL031
  475.     If (STRING001 == "1") Then
  476.         AnsiPos TSTRING012(2), TSTRING013(2)
  477.         InputStr "_", STRING003, 15, 12, Mask_Ascii(), 16
  478.     Endif
  479.     If (STRING001 == "2") Then
  480.         AnsiPos TSTRING014(2), TSTRING015(2)
  481.         InputStr "_", STRING002, 15, 55, Mask_Ascii(), 16
  482.     Endif
  483.     Goto LABEL039
  484.     :LABEL032
  485.     If (STRING001 == "1") Then
  486.         AnsiPos TSTRING012(3), TSTRING013(3)
  487.         InputStr "_", STRING003, 15, 12, Mask_Ascii(), 16
  488.     Endif
  489.     If (STRING001 == "2") Then
  490.         AnsiPos TSTRING014(3), TSTRING015(3)
  491.         InputStr "_", STRING002, 15, 55, Mask_Ascii(), 16
  492.     Endif
  493.     Goto LABEL039
  494.     :LABEL033
  495.     If (STRING001 == "1") Then
  496.         AnsiPos TSTRING012(4), TSTRING013(4)
  497.         InputStr "_", STRING003, 15, 12, Mask_Ascii(), 16
  498.     Endif
  499.     If (STRING001 == "2") Then
  500.         AnsiPos TSTRING014(4), TSTRING015(4)
  501.         InputStr "_", STRING002, 15, 55, Mask_Ascii(), 16
  502.     Endif
  503.     Goto LABEL039
  504.     :LABEL034
  505.     If (STRING001 == "1") Then
  506.         AnsiPos TSTRING012(5), TSTRING013(5)
  507.         InputStr "_", STRING003, 15, 12, Mask_Ascii(), 16
  508.     Endif
  509.     If (STRING001 == "2") Then
  510.         AnsiPos TSTRING014(5), TSTRING015(5)
  511.         InputStr "_", STRING002, 15, 55, Mask_Ascii(), 16
  512.     Endif
  513.     Goto LABEL039
  514.     :LABEL035
  515.     If (STRING001 == "1") Then
  516.         AnsiPos TSTRING012(6), TSTRING013(6)
  517.         InputStr "_", STRING003, 15, 12, Mask_Ascii(), 16
  518.     Endif
  519.     If (STRING001 == "2") Then
  520.         AnsiPos TSTRING014(6), TSTRING015(6)
  521.         InputStr "_", STRING002, 15, 55, Mask_Ascii(), 16
  522.     Endif
  523.     Goto LABEL039
  524.     :LABEL036
  525.     If (STRING001 == "1") Then
  526.         AnsiPos TSTRING012(7), TSTRING013(7)
  527.         InputStr "_", STRING003, 15, 12, Mask_Ascii(), 16
  528.     Endif
  529.     If (STRING001 == "2") Then
  530.         AnsiPos TSTRING014(7), TSTRING015(7)
  531.         InputStr "_", STRING002, 15, 55, Mask_Ascii(), 16
  532.     Endif
  533.     Goto LABEL039
  534.     :LABEL037
  535.     If (STRING001 == "1") Then
  536.         AnsiPos TSTRING012(8), TSTRING013(8)
  537.         InputStr "_", STRING003, 15, 12, Mask_Ascii(), 16
  538.     Endif
  539.     If (STRING001 == "2") Then
  540.         AnsiPos TSTRING014(8), TSTRING015(8)
  541.         InputStr "_", STRING002, 15, 55, Mask_Ascii(), 16
  542.     Endif
  543.     Goto LABEL039
  544.     :LABEL038
  545.     If (STRING001 == "1") Then
  546.         AnsiPos TSTRING012(9), TSTRING013(9)
  547.         InputStr "_", STRING003, 15, 12, Mask_Ascii(), 16
  548.     Endif
  549.     If (STRING001 == "2") Then
  550.         AnsiPos TSTRING014(9), TSTRING015(9)
  551.         InputStr "_", STRING002, 15, 55, Mask_Ascii(), 16
  552.     Endif
  553.     :LABEL039
  554.     If (STRING004 == 1) Then
  555.         If (STRING003 <> "") Then
  556.             TSTRING009(1) = STRING003
  557.         Endif
  558.         If (STRING002 <> "") Then
  559.             TSTRING010(1) = STRING002
  560.         Endif
  561.     Endif
  562.     If (STRING004 == 2) Then
  563.         If (STRING003 <> "") Then
  564.             TSTRING009(2) = STRING003
  565.         Endif
  566.         If (STRING002 <> "") Then
  567.             TSTRING010(2) = STRING002
  568.         Endif
  569.     Endif
  570.     If (STRING004 == 3) Then
  571.         If (STRING003 <> "") Then
  572.             TSTRING009(3) = STRING003
  573.         Endif
  574.         If (STRING002 <> "") Then
  575.             TSTRING010(3) = STRING002
  576.         Endif
  577.     Endif
  578.     If (STRING004 == 4) Then
  579.         If (STRING003 <> "") Then
  580.             TSTRING009(4) = STRING003
  581.         Endif
  582.         If (STRING002 <> "") Then
  583.             TSTRING010(4) = STRING002
  584.         Endif
  585.     Endif
  586.     If (STRING004 == 5) Then
  587.         If (STRING003 <> "") Then
  588.             TSTRING009(5) = STRING003
  589.         Endif
  590.         If (STRING002 <> "") Then
  591.             TSTRING010(5) = STRING002
  592.         Endif
  593.     Endif
  594.     If (STRING004 == 6) Then
  595.         If (STRING003 <> "") Then
  596.             TSTRING009(6) = STRING003
  597.         Endif
  598.         If (STRING002 <> "") Then
  599.             TSTRING010(6) = STRING002
  600.         Endif
  601.     Endif
  602.     If (STRING004 == 7) Then
  603.         If (STRING003 <> "") Then
  604.             TSTRING009(7) = STRING003
  605.         Endif
  606.         If (STRING002 <> "") Then
  607.             TSTRING010(7) = STRING002
  608.         Endif
  609.     Endif
  610.     If (STRING004 == 8) Then
  611.         If (STRING003 <> "") Then
  612.             TSTRING009(8) = STRING003
  613.         Endif
  614.         If (STRING002 <> "") Then
  615.             TSTRING010(8) = STRING002
  616.         Endif
  617.     Endif
  618.     If (STRING004 == 9) Then
  619.         If (STRING003 <> "") Then
  620.             TSTRING009(9) = STRING003
  621.         Endif
  622.         If (STRING002 <> "") Then
  623.             TSTRING010(9) = STRING002
  624.         Endif
  625.     Endif
  626.     Sort TSTRING009, TINTEGER005
  627.     Sort TSTRING010, TINTEGER005
  628.     FCreate 4, PPEPath() + "config.dat", 2, 0
  629.     FCreate 5, PPEPath() + "TEST.DAT", 2, 0
  630.     For STRING025 = 1 To 9
  631.         FPutLn 4, TSTRING009(STRING025)
  632.         If (TSTRING010(STRING025) == "") Continue
  633.         If (Right(TSTRING010(STRING025), 1) == "\") Then
  634.             FPutLn 4, TSTRING010(STRING025)
  635.             FPutLn 5, TSTRING010(STRING025) + TSTRING009(STRING025)
  636.             Continue
  637.         Endif
  638.         FPutLn 4, TSTRING010(STRING025) + "\"
  639.         FPutLn 5, TSTRING010(STRING025) + "\" + TSTRING009(STRING025)
  640.     Next
  641.     FClose 4
  642.     FClose 5
  643.     PrintLn "@CLS@@X07@X0F                             GENES@X08i@X0FS PPE Tester"
  644.     PrintLn "┌─────────@X07───────────@X08───────────────── ─────────── ───────── ─ ─   -   ··   ·"
  645.     PrintLn "@X0F│     @X08[@X0FShift-C@X08] @X0FConfigure   @X08[@X0FShift-F@X08] @X0FFull Screen   @X08[@X0F1 - 9@X08] @X0FQuicky Tests"
  646.     PrintLn "│─────────@X07───────────@X08───────────────── ─────────── ─────────── ─  ──────·    ·"
  647.     PrintLn "@X0F│ PPE And Path To PPE : @X08[                                                     ]"
  648.     PrintLn "@X0F└─────────@X07───────────@X08───────────────── ─────────── ─────────-─ ─  ───--─  ·"
  649.     AnsiPos 1, 6
  650.     PrintLn "@X07@X0F┌─────────@X07───────────@X08───────────────── ─────────── ───────── ─ ─   -   ··   ·"
  651.     PrintLn "@X0F│               @X08[@X0FSPACE@X08] @X0FUp     @X08[@X0F@X08] @X0FDown    @X08[@X0F@X08] @X0FLeft     @X08[@X0F@X08] @X0FRight"
  652.     PrintLn "│─────────@X07───────────@X08───────────────── ─────────── ─────────── ─  ──────·    ·"
  653.     PrintLn "@X0F│ o1)               @X08│"
  654.     PrintLn "@X0F│ o2)               @X08│"
  655.     PrintLn "@X0F│ o3)               @X08│"
  656.     PrintLn "@X0F│ o4)               @X08│"
  657.     PrintLn "@X0F│ o5)               @X08│"
  658.     PrintLn "@X0F│ o6)               @X08│"
  659.     PrintLn "@X0F│ o7)               @X08│"
  660.     PrintLn "@X0F│ o8)               @X08│"
  661.     PrintLn "@X0F│ o9)               @X08│"
  662.     PrintLn "@X0F└─────────@X07───────────@X08───────────────── ─────────── ─────────-─ ─  ───--─  ·"
  663.     Goto LABEL006
  664.     End
  665.     :LABEL040
  666.     Shell 1, STRING026, "DIR " + PPEPath() + "*.PPE >" + PPEPath() + "PPETEST.DAT", ""
  667.     FOpen 4, PPEPath() + "PPETEST.DAT", 2, 0
  668.     For STRING027 = 1 To 45
  669.         :LABEL041
  670.         FGet 4, STRING028
  671.         If (STRING028 == "") Then
  672.             If (STRING027 > 1) Then
  673.                 Break
  674.             Endif
  675.         Endif
  676.         If (Left(STRING028, 1) == " ") Goto LABEL041
  677.         TSTRING029(STRING027) = Upper(Trim(Left(STRING028, 8), " "))
  678.     Next
  679.     Sort TSTRING029, TINTEGER006
  680.     PrintLn "@CLS@@X07@X0F                             GENES@X08i@X0FS PPE Tester"
  681.     PrintLn "┌─────────@X07───────────@X08───────────────── ─────────── ───────── ─ ─   -   ··   ·"
  682.     PrintLn "@X0F│     @X08 [@X0FALT-W@X08] @X0FConfigure     @X08[@X0FALT-Q@X08] @X0FFull Screen     @X08[@X0F1 - 9@X08] @X0FQuicky Tests"
  683.     PrintLn "│─────────@X07───────────@X08───────────────── ─────────── ─────────── ─  ──────·    ·"
  684.     PrintLn "@X0F│ PPE And Path To PPE : @X08[                                                     ]"
  685.     PrintLn "@X0F└─────────@X07───────────@X08───────────────── ─────────── ─────────-─ ─  ───--─  ·"
  686.     PrintLn ""
  687.     PrintLn "@X07@X0F┌─────────@X07───────────@X08───────────────── ─────────── ───────── ─ ─   -   ··"
  688.     PrintLn "@X0F│               @X08[@X0FSPACE@X08] @X0FUp     @X08[@X0F@X08] @X0FDown    @X08[@X0F@X08] @X0FLeft     @X08[@X0F@X08] @X0FRight"
  689.     PrintLn "│─────────@X07───────────@X08───────────────── ─────────── ─────────── ─  ──────·  ·"
  690.     PrintLn "@X0F│              @X08│              │              │              │              │"
  691.     PrintLn "@X0F│              @X08│              │              │              │              │"
  692.     PrintLn "@X0F│              @X08│              │              │              │              │"
  693.     PrintLn "@X0F│              @X08│              │              │              │              │"
  694.     PrintLn "@X0F│              @X08│              │              │              │              │"
  695.     PrintLn "@X0F│              @X08│              │              │              │              │"
  696.     PrintLn "@X0F│              @X08│              │              │              │              │"
  697.     PrintLn "@X0F│              @X08│              │              │              │              │"
  698.     PrintLn "@X0F│              @X08│              │              │              │              │"
  699.     PrintLn "@X0F└─────────@X07───────────@X08───────────────── ─────────── ─────────-─ ─  ───--─  ·"
  700.     TSTRING030(1) = "3"
  701.     TSTRING030(2) = "3"
  702.     TSTRING030(3) = "3"
  703.     TSTRING030(4) = "3"
  704.     TSTRING030(5) = "3"
  705.     TSTRING030(6) = "3"
  706.     TSTRING030(7) = "3"
  707.     TSTRING030(8) = "3"
  708.     TSTRING030(9) = "3"
  709.     TSTRING031(1) = "11"
  710.     TSTRING031(2) = "12"
  711.     TSTRING031(3) = "13"
  712.     TSTRING031(4) = "14"
  713.     TSTRING031(5) = "15"
  714.     TSTRING031(6) = "16"
  715.     TSTRING031(7) = "17"
  716.     TSTRING031(8) = "18"
  717.     TSTRING031(9) = "19"
  718.     TSTRING030(10) = "18"
  719.     TSTRING030(11) = "18"
  720.     TSTRING030(12) = "18"
  721.     TSTRING030(13) = "18"
  722.     TSTRING030(14) = "18"
  723.     TSTRING030(15) = "18"
  724.     TSTRING030(16) = "18"
  725.     TSTRING030(17) = "18"
  726.     TSTRING030(18) = "18"
  727.     TSTRING031(10) = "11"
  728.     TSTRING031(11) = "12"
  729.     TSTRING031(12) = "13"
  730.     TSTRING031(13) = "14"
  731.     TSTRING031(14) = "15"
  732.     TSTRING031(15) = "16"
  733.     TSTRING031(16) = "17"
  734.     TSTRING031(17) = "18"
  735.     TSTRING031(18) = "19"
  736.     TSTRING030(19) = "33"
  737.     TSTRING030(20) = "33"
  738.     TSTRING030(21) = "33"
  739.     TSTRING030(22) = "33"
  740.     TSTRING030(23) = "33"
  741.     TSTRING030(24) = "33"
  742.     TSTRING030(25) = "33"
  743.     TSTRING030(26) = "33"
  744.     TSTRING030(27) = "33"
  745.     TSTRING031(19) = "11"
  746.     TSTRING031(20) = "12"
  747.     TSTRING031(21) = "13"
  748.     TSTRING031(22) = "14"
  749.     TSTRING031(23) = "15"
  750.     TSTRING031(24) = "16"
  751.     TSTRING031(25) = "17"
  752.     TSTRING031(26) = "18"
  753.     TSTRING031(27) = "19"
  754.     TSTRING030(28) = "48"
  755.     TSTRING030(29) = "48"
  756.     TSTRING030(30) = "48"
  757.     TSTRING030(31) = "48"
  758.     TSTRING030(32) = "48"
  759.     TSTRING030(33) = "48"
  760.     TSTRING030(34) = "48"
  761.     TSTRING030(35) = "48"
  762.     TSTRING030(36) = "48"
  763.     TSTRING031(28) = "11"
  764.     TSTRING031(29) = "12"
  765.     TSTRING031(30) = "13"
  766.     TSTRING031(31) = "14"
  767.     TSTRING031(32) = "15"
  768.     TSTRING031(33) = "16"
  769.     TSTRING031(34) = "17"
  770.     TSTRING031(35) = "18"
  771.     TSTRING031(36) = "19"
  772.     TSTRING030(37) = "63"
  773.     TSTRING030(38) = "63"
  774.     TSTRING030(39) = "63"
  775.     TSTRING030(40) = "63"
  776.     TSTRING030(41) = "63"
  777.     TSTRING030(42) = "63"
  778.     TSTRING030(43) = "63"
  779.     TSTRING030(44) = "63"
  780.     TSTRING030(45) = "63"
  781.     TSTRING031(37) = "11"
  782.     TSTRING031(38) = "12"
  783.     TSTRING031(39) = "13"
  784.     TSTRING031(40) = "14"
  785.     TSTRING031(41) = "15"
  786.     TSTRING031(42) = "16"
  787.     TSTRING031(43) = "17"
  788.     TSTRING031(44) = "18"
  789.     TSTRING031(45) = "19"
  790.     For STRING032 = 1 To 45
  791.         AnsiPos TSTRING030(STRING032), TSTRING031(STRING032)
  792.         Print "@X0F" + Upper(TSTRING029(STRING032)) + ".PPE"
  793.         If (TINTEGER007(1) - 232 == -1) Then
  794.             Hangup
  795.         Endif
  796.     Next
  797.     STRING035 = "1"
  798.     STRING034 = "1"
  799.     STRING034 = STRING035
  800.     AnsiPos TSTRING030(STRING034), TSTRING031(STRING034)
  801.     Print "@X7F" + Upper(TSTRING029(STRING034)) + ".PPE"
  802.     :LABEL042
  803.     STRING033 = Inkey()
  804.     If (STRING033 <> "") Goto LABEL043
  805.     Goto LABEL042
  806.     :LABEL043
  807.     If (STRING033 == Chr(27)) Goto LABEL001
  808.     If (STRING033 == Chr(13)) Goto LABEL044
  809.     Select Case (STRING033)
  810.         Case "RIGHT"
  811.             STRING034 = STRING034 + 9
  812.             If (STRING034 > 45) Then
  813.                 STRING034 = STRING034 - 45
  814.             Endif
  815.         Case "LEFT"
  816.             STRING034 = STRING034 - 9
  817.             If (STRING034 < 1) Then
  818.                 STRING034 = STRING034 + 45
  819.             Endif
  820.         Case " "
  821.             STRING034 = STRING034 - 1
  822.             If (STRING034 < 1) Then
  823.                 STRING034 = 45
  824.             Endif
  825.         Case "DOWN"
  826.             STRING034 = STRING034 + 1
  827.             If (STRING034 > 45) Then
  828.                 STRING034 = 1
  829.             Endif
  830.         Case Else
  831.             Goto LABEL042
  832.     End Select
  833.     STRING035 = STRING034
  834.     STRING034 = STRING035
  835.     STRING034 = STRING034 + 9
  836.     If (STRING034 > 45) Then
  837.         STRING034 = STRING034 - 45
  838.     Endif
  839.     AnsiPos TSTRING030(STRING034), TSTRING031(STRING034)
  840.     Print "@X0F" + Upper(TSTRING029(STRING034)) + ".PPE"
  841.     STRING034 = STRING035
  842.     STRING034 = STRING034 - 9
  843.     If (STRING034 < 1) Then
  844.         STRING034 = STRING034 + 45
  845.     Endif
  846.     AnsiPos TSTRING030(STRING034), TSTRING031(STRING034)
  847.     Print "@X0F" + Upper(TSTRING029(STRING034)) + ".PPE"
  848.     STRING034 = STRING035
  849.     STRING034 = STRING034 - 1
  850.     If (STRING034 < 1) Then
  851.         STRING034 = 45
  852.     Endif
  853.     AnsiPos TSTRING030(STRING034), TSTRING031(STRING034)
  854.     Print "@X0F" + Upper(TSTRING029(STRING034)) + ".PPE"
  855.     STRING034 = STRING035
  856.     STRING034 = STRING034 + 1
  857.     If (STRING034 > 45) Then
  858.         STRING034 = 1
  859.     Endif
  860.     AnsiPos TSTRING030(STRING034), TSTRING031(STRING034)
  861.     Print "@X0F" + Upper(TSTRING029(STRING034)) + ".PPE"
  862.     STRING034 = STRING035
  863.     AnsiPos TSTRING030(STRING034), TSTRING031(STRING034)
  864.     Print "@X7F" + Upper(TSTRING029(STRING034)) + ".PPE"
  865.     Goto LABEL042
  866.     :LABEL044
  867.     Print "@X0F "
  868.     Cls
  869.     Call PPEPath() + TSTRING029(STRING034) + ".PPE"
  870.     Cls
  871.     End
  872.  
  873. ;------------------------------------------------------------------------------
  874. ;
  875. ; Usage report (before postprocessing)
  876. ;
  877. ; ■ Statements used :
  878. ;
  879. ;    5       End
  880. ;    5       Cls
  881. ;    221     Goto 
  882. ;    190     Let 
  883. ;    55      Print 
  884. ;    59      PrintLn 
  885. ;    178     If 
  886. ;    2       FCreate 
  887. ;    2       FOpen 
  888. ;    3       FClose 
  889. ;    3       FGet 
  890. ;    5       FPutLn 
  891. ;    1       Hangup
  892. ;    18      InputStr 
  893. ;    10      Gosub 
  894. ;    10      Return
  895. ;    1       Shell 
  896. ;    3       Call 
  897. ;    70      AnsiPos 
  898. ;    9       Sort 
  899. ;
  900. ;
  901. ; ■ Functions used :
  902. ;
  903. ;    87      +
  904. ;    10      -
  905. ;    157     ==
  906. ;    21      <>
  907. ;    10      <
  908. ;    6       <=
  909. ;    6       >
  910. ;    12      >=
  911. ;    121     !
  912. ;    12      &&
  913. ;    22      ||
  914. ;    10      Upper()
  915. ;    4       Left()
  916. ;    1       Right()
  917. ;    7       Chr()
  918. ;    1       RTrim()
  919. ;    2       Trim()
  920. ;    3       Inkey()
  921. ;    18      Mask_Ascii()
  922. ;    8       PPEPath()
  923. ;    1       ReadLine()
  924. ;    1       ScrText()
  925. ;
  926. ;------------------------------------------------------------------------------
  927. ;
  928. ; Analysis flags : BSC
  929. ;
  930. ; B - Brute hangup ■ 1
  931. ;     Program hangup without notification. This may be a good way to
  932. ;     disconnect a user, but if used randomly, may be very nasty
  933. ;     ■ Search for : HANGUP, DTROFF
  934. ;
  935. ; S - Shell to DOS ■ 5
  936. ;     This may be normal if the PPE need to execute an external command,
  937. ;     but may be actually anything... nasty (formating HD, rebooting,...)
  938. ;     or usefull (sorting, maintenance,...). Check!
  939. ;     ■ Search for : SHELL
  940. ;
  941. ; C - Call child PPE ■ 3
  942. ;     This is usually normal, but may be a tricky way to launch some
  943. ;     sysop-only commands.
  944. ;     ■ Search for : CALL
  945. ;
  946. ;------------------------------------------------------------------------------
  947. ;
  948. ; Postprocessing report
  949. ;
  950. ;    6       For/Next
  951. ;    0       While/EndWhile
  952. ;    107     If/Then or If/Then/Else
  953. ;    2       Select Case
  954. ;
  955. ;------------------------------------------------------------------------------
  956. ;                 AEGiS Corp - Break the routines, code against the machines!
  957. ;------------------------------------------------------------------------------
  958.